package com.genokon.service;

import com.genokon.dto.VarComputeDto;
import com.genokon.dto.VarParams;
import com.genokon.dto.VariationDto;
import com.genokon.entry.GeneVariationInfo;

import java.util.List;

/**
 * @author by baichaoda
 * @date 2020/11/3 13:09
 */
public interface VariationService {
    /**
     * add
     * @param dto var
     * @return row
     * @throws Exception ex
     */
    Long addVariation(VariationDto dto) throws Exception;

    /**
     * 根据条件搜索
     * @param params con
     * @return rs列表
     */
    List<VariationDto> getVariation(VarParams params);

    /**
     * 根据条件搜索,包含计算
     * @param params con
     * @return rs列表
     * @throws Exception ex
     */
    VarComputeDto getVariationById(GeneVariationInfo params);

    /**
     * 计算频率
     * @param params 变异点id
     * @return rs
     */
    Double rateVariation(GeneVariationInfo params);
}
